This invention was made with Government support under a Government contract. The Government has certain rights in this invention.
This invention relates to duplex communication paths, and more particularly to techniques for programmably allocating bandwidth between send and receive functions.
When two processors (A and B) communicate, the required data rates from A to B and From B to A may vary, depending on the processing being performed. In known systems, the bandwidth of each direction of communication is fixed and must be set by design of the maximum necessary value. If the send and receive bandwidth requirements are never simultaneously maximum, then there is wasted bandwidth (e.g. extra cost) in the system.
The invention applies to a communication path including N channels, each of which is bidirectional, i.e. each channel may be set to either send or receive. A channel typically includes a transmission line (electrical or optical), but could by any independent information pathway, such as a radio frequency channel.
In accordance with an aspect of the invention, the number of send channels (S) and receive channels (R) is programmably set, such that S+R=N. Thus, for channels of equal bandwidth B, the send bandwidth is S*B, the receive bandwidth is R*B, and the ratio of send bandwidth to receive bandwidth is S/R.
The invention allows bandwidth to be optimally used. The total available bandwidth for this example is N*B, and the send and receive bandwidths can be adjusted to any values such that (S*B+R*B)xe2x89xa6N*B on an as-needed basis, depending on the processing algorithms being executed.
The invention provides several advantages. One advantage is simplicity of implementation. There is the ability to statically xe2x80x9cset and forgetxe2x80x9d the number of channels in each direction for the entire duration of a processing mode, and then reset the number for the next mode. This is advantageous to a known method of bandwidth allocation by time-multiplexing between send and receive. The elimination of the need for continuous, dynamic switching between send and receive is particularly helpful where the communication path goes through multiple relays or crossbar switches between source and destination processors. Each relay or crossbar can be statically set for a long period, rather than requiring complex, dynamic timing of each channel""s bidirectional mode.
Another advantage is reduced overhead and buffering requirements, as compared to time-multiplexing techniques. There is no turn-around time overhead, and no additional input/output (I/O) buffer memories, since the preset send and receive channels can be continuous.
A further advantage is a more efficient redundancy provision as compared to fixed allocations of send and receive bandwidth. A spare channel may be used by either send or receive, as needed, to provide a spare for both the send and receive channels.